Systems and methods to curate notifications from unsubscribed social media accounts

ABSTRACT

Methods and systems for curating notifications from unfollowed accounts are described herein. The system tracks that a first account previously followed a second account and subsequently unfollowed the second account. The system identifies an interest of the first account and monitors the activities of the second account for activity that matches the interest. If there is a match between the interest and an activity of the second account, the system notifies the first account of the activity. These methods and systems provide the user with relevant information from unfollowed accounts.

BACKGROUND

The present disclosure is directed to notification systems and, moreparticularly, to notification systems that alert a user about relevantupdates from unfollowed accounts.

SUMMARY

Social media allows users to keep up with other users, news sources, andtopics of interest. Users can follow various accounts in order toreceive notifications and posts from those accounts. Users mayadditionally change their following settings for accounts as theirinterests change. Current systems are limited in that they are binary—auser either follows an account or does not follow an account. Systemsare unable to distinguish between unfollowed accounts (e.g., accountsthat a user previously followed and subsequently unfollowed) andaccounts that were never followed by a user. This is a shortcoming ofcurrent systems, as unfollowed accounts can still be a valuable sourceof information. The fact that the user followed a certain account at onepoint typically indicates some relationship or interest between the twoaccounts. The unfollowed account is therefore more likely to haveinformation relevant to the user than is an account with which the userhas never interacted. The inability of current systems to distinguishbetween unfollowed and never-followed accounts and to utilize thisadditional source of information therefore deprives the user of valuableinformation. Thus, systems and methods are needed which allow for a userto receive relevant information from accounts that the user no longerfollows.

Solutions to the problem described above include distinguishing betweenunfollowed accounts and never-followed accounts so that the system maytrack the activity of unfollowed accounts. To do this, the system maytag accounts that the user unfollows by adding an identifier.Additionally or alternatively, the system may store unfollowed accountsin a separate list. The system may use alternative methods fordistinguishing unfollowed accounts from other accounts, as well. In someembodiments, an unfollowed account may include an account that the userhas muted or blocked. In some embodiments, unfollowing may includeunfriending, unsubscribing, or otherwise removing an account. The systemmay determine whether any activities of the unfollowed accounts match aninterest of the user. In some embodiments, an interest is an upcomingevent in the user's calendar. The system may determine that an activityof the unfollowed account matches the event by determining that theactivity matches a location or a time of the event. In some embodiments,an interest is a reservation or a travel itinerary. The system maydetermine that an activity of the unfollowed account matches thereservation or itinerary by determining that the activity has the samelocation and time as the reservation or itinerary. In some embodiments,an interest is a user preference specified in the user's profile. Thesystem may determine that an activity of the unfollowed account relatesto the user preference through keyword matching or another analysis.

There are several additional considerations that the system may use whensearching for relevant content. For example, the system may set arelevance threshold which any activity from an unfollowed account mustmeet in order for the system to notify the user of the activity. Therelevance threshold may be higher for activity from unfollowed accountsthan for activity from accounts that the user has never followed, as theuser has expressed disinterest by ceasing to follow the unfollowedaccount. The system may alter the relevance threshold for unfollowedaccounts for a variety of reasons. In some embodiments, the system mayset lower relevance thresholds for unfollowed accounts that have afamilial tie with the user. In some embodiments, the system may setlower relevance thresholds for activity that is marked as important. Forexample, the system may mark an update about a crisis or naturaldisaster as important and thus may lower the relevance threshold forthat activity. The system may additionally or alternatively apply adifferent relevance threshold based on whether or not the unfollowedaccount follows the user back.

There are several techniques that can be used to carry out the searchand notification processes of the present disclosure. In someembodiments, the system may pull data from the user's profile, emails,social media posts, events, reservations, and itineraries. The systemmay parse this data for keywords, metadata, and any other usefulinformation. The system may then use this data to create search filters.For example, the system may create a filter to return any results thatcontain a certain keyword. In some embodiments, the system may create afilter to return any results that are similar to the user's data (e.g.,through use of a knowledge graph). In some embodiments, the system maygenerate a filter for any results that match the time and location of anevent, reservation, or itinerary from the user's data. The system maymonitor unfollowed accounts and search through activities using thegenerated filters. If the system identifies a match, it may compare therelevance level between the user's data and the activity to therelevance threshold. If the relevance exceeds the relevance threshold,the system may notify the user of the activity. The system mayadditionally or alternatively recommend an action to the user (e.g., tochange a reservation) based on the notification.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and advantages of the disclosure will beapparent upon consideration of the following detailed description, takenin conjunction with the accompanying drawings, in which like referencecharacters refer to like parts throughout, and in which:

FIG. 1 shows an illustrative example of a notification and display of apost from an unfollowed account that relates to a user's travel plans,in accordance with some embodiments of the disclosure;

FIG. 2 shows an illustrative display of settings for receivingnotifications and updates about posts from unfollowed accounts, inaccordance with some embodiments of the disclosure;

FIG. 3 is a block diagram of an illustrative user equipment, inaccordance with some embodiments of the present disclosure;

FIG. 4 is a block diagram of an illustrative media system, in accordancewith some embodiments of the disclosure;

FIG. 5 is a block diagram of an illustrative search system for searchingunfollowed accounts for activity relevant to a user, in accordance withsome embodiments of the disclosure;

FIG. 6 is a flowchart of an illustrative process for notifying a user ofrelevant activity from unfollowed accounts, in accordance with someembodiments of the present disclosure;

FIG. 7 is a flowchart of an illustrative process for identifying aninterest associated with an account based on an event, in accordancewith some embodiments of the present disclosure;

FIG. 8 is a flowchart of an illustrative process for identifying aninterest associated with an account based on an itinerary, in accordancewith some embodiments of the present disclosure;

FIG. 9 is a flowchart of an illustrative process for identifying aninterest associated with an account based on user preferences, inaccordance with some embodiments of the present disclosure;

FIG. 10 is a flowchart of an illustrative process for setting a higherrelevance threshold for unfollowed accounts than accounts that were notpreviously followed, in accordance with some embodiments of the presentdisclosure;

FIG. 11A is a flowchart of an illustrative process for setting a lowerrelevance threshold when there is a familial relationship between twoaccounts, in accordance with some embodiments of the present disclosure;and

FIG. 11B is a flowchart of an illustrative process for setting a lowerrelevance threshold when an activity of an unfollowed account has a highimportance, in accordance with some embodiments of the presentdisclosure.

DETAILED DESCRIPTION

Methods and systems are described herein for providing a user withrelevant information from unfollowed accounts. The system may determinethat an unfollowed account posted something that the user may wish tosee, regardless of the unfollowed status. The system may base thisdetermination upon user preferences, events, travel plans, social mediaactivity, text and email data, or any other data source. Once the systemidentifies a relevant activity from the unfollowed account, the systemmay compare the activity to a relevance threshold. This threshold may bebased upon importance of the activity, a relationship between the user'saccount and the unfollowed account, or any other factor. If the systemdetermines that the activity meets or exceeds the relevance threshold,the system may then notify the user of the activity of the unfollowedaccount.

FIG. 1 shows an illustrative example 100 of a notification and displayof a post from an unfollowed account that relates to a user's travelplans, in accordance with some embodiments of the disclosure. In someembodiments, unfollowed accounts may be an account that the userpreviously followed but has since unfollowed. In some embodiments, anunfollowed account may include an account that the user has muted orblocked. In some embodiments, unfollowing may include unfriending,unsubscribing, or otherwise removing an account. In FIG. 1 , a userdevice 102 displays a notification 104 which alerts the user of anactivity from an unfollowed account. In some embodiments, the system mayoffer the user an option to view or ignore the post. In someembodiments, the system may include a preview of the post or the entirepost in notification 104. Notification 104 includes an identifier of theunfollowed account (e.g., @DennisQCortese) as well as the user interestto which the activity is relevant. In this example, the activity isrelevant to the user's upcoming travel plans, i.e., the activity isabout a restaurant near the user's hotel in Paris. The system may accessbooking information (e.g., confirmation emails, calendar entries, socialmedia events, etc.) to identify the user's hotel in Paris. The systemmay identify that the post by the unfollowed account is relevant to theuser's hotel in Paris based on keyword analysis, such as the name of therestaurant, the word “Paris,” or the address of the restaurant in thepost. The system may compare the location of the restaurant to thelocation of the user's hotel to determine that they are nearby.

In some embodiments, the user may tap on or swipe notification 104 inorder to view the post. Additionally or alternatively, the system willalert the user of the activity within the platform (e.g., Facebook,Instagram, Twitter, etc.) on which the activity was posted. In someembodiments, the system may add the activity to the user's feed withinthe platform. In this example, if the user taps on the notification, theuser is directed to page 106 within a social media platform. Page 106displays the post from the unfollowed account. Page 106 may display anidentifier of the unfollowed account (e.g., identifier 108). Theidentifier may comprise a profile picture, a profile name, a socialmedia handle, a link to the unfollowed account's home page, an option tore-follow the account (e.g., button 114), and any other identifyinginformation. Page 106 may additionally display the post of theunfollowed account along with any other relevant information. Forexample, if the post relates to a location, the post may include a map,address, or link for the location (e.g., location 112). In someembodiments, if the post relates to an event, the post may include adescription of or link to the event.

While FIG. 1 shows the notification and display of a post from anunfollowed account, FIG. 2 shows an illustrative user device 200 havingsettings for receiving notifications and updates about posts fromunfollowed accounts, in accordance with some embodiments of thedisclosure. User device 200 includes a display 202 which displays aseries of notification settings. These notification settings relate tonotifications sent to the user within the platform. The first setting204 controls whether the system sends the user push notifications (e.g.,pop-up alerts) on the user device (e.g., notification 104 on device 102in FIG. 1 ). The user may move the toggle (e.g., toggle 216) in order toturn this setting on or off. Setting 206 controls whether the systemincludes posts from unfollowed accounts on the user's feed in theplatform. In some embodiments, if this setting is enabled, the systemmay send the user push notifications about posts from unfollowedaccounts which have a very high relevance rating and may add postshaving a lower relevance rating to the user's feed.

Setting 208 controls whether the system searches for and displays postsfrom unfollowed accounts which match the user's calendar events. Thissetting enables the system to create search filters based on calendarevents when searching through posts from unfollowed accounts forrelevant information. The system may first analyze each calendar eventand extract key words, locations, event titles, and times. The systemmay then compile this information into a filter. Any posts fromunfollowed accounts which match the information from the calendar eventand are determined to be relevant to the user are displayed to the user.

Setting 210 controls whether the system searches for and displays postsmatching the user's preferences. The user's preferences may be specificto the platform. For example, the user may enter multiple interests,preferences, and settings when creating the user profile on theplatform. The system may additionally or alternatively track content(e.g., posts, videos, advertisements, etc.) within the platform withwhich the user positively engages. For example, if the user follows anartist and likes or comments on a series of posts from the artist, thesystem may determine that the user is interested in the artist. In someembodiments, the system may determine interests of the user based onposts that the user makes on the platform. For example, if the userposts about a restaurant the system may identify the restaurant orcuisine as an interest of the user. If setting 210 is enabled, thesystem may alert the user of posts from unfollowed accounts which relateto the artist.

Setting 212 controls whether the system alerts the user of posts fromunfollowed family members. The system may determine relationshipsbetween users by prompting the user to input their relationship toanother user. In some embodiments, the system may determine that theunfollowed account is a family member by comparing user names, analyzingmutual connections, or other means. If setting 212 is enabled, thesystem may lower the relevance threshold for posts from unfollowedfamily members.

Setting 214 controls whether the system alerts the user of relevantposts from unfollowed groups. In some scenarios, a user may leave agroup on a platform due to a dislike of the content that is posted byother group members. However, some content posted by group members maystill be relevant to the user even after the user has unfollowed thegroup. Therefore, if setting 214 is enabled, the system may searchunfollowed groups for posts that may be relevant to the user.

It will be understood that FIGS. 1 and 2 are shown for illustrativepurposes and that not all of the settings and details need to beincluded. For example, in reference to FIG. 2 , instead of offering theuser a series of settings, the system may display an option to view orignore a post from an unfollowed each time the system alerts the user ofthe post. The system may alternatively include more settings orvariations of the settings shown in FIG. 2 across various platforms.

In some embodiments, the methods and systems described in connectionwith FIGS. 1 and 2 utilize a media device on which to display thenotifications and posts to the user. FIG. 3 shows a generalizedembodiment of illustrative media device 300. As referred to herein, thephrase “media device” should be understood to mean any device that canoutput notifications and display posts. As depicted, media device 300may be a smartphone or tablet, or may additionally be a personalcomputer or television equipment.

Media device 300 may receive content and data via input/output(hereinafter “I/O”) path 302. I/O path 302 may provide content (e.g.,broadcast programming, on-demand programming, Internet content, contentavailable over a local area network (LAN) or wide area network (WAN),and/or other content) and data to control circuitry 304, which includesprocessing circuitry 306 and storage 308. Control circuitry 304 may beused to send and receive commands, requests, and other suitable datausing I/O path 302. I/O path 302 may connect control circuitry 304 (andspecifically processing circuitry 306) to one or more communicationspaths (described below). I/O functions may be provided by one or more ofthese communications paths, but are shown as a single path in FIG. 3 toavoid overcomplicating the drawing.

Control circuitry 304 may be based on any suitable processing circuitrysuch as processing circuitry 306. As referred to herein, processingcircuitry should be understood to mean circuitry based on one or moremicroprocessors, microcontrollers, digital signal processors,programmable logic devices, field-programmable gate arrays (FPGAs),application-specific integrated circuits (ASICs), etc., and may includea multi-core processor (e.g., dual-core, quad-core, hexa-core, or anysuitable number of cores) or supercomputer. In some embodiments,processing circuitry may be distributed across multiple separateprocessors or processing units, for example, multiple of the same typeof processing units (e.g., two Intel Core i7 processors) or multipledifferent processors (e.g., an Intel Core i5 processor and an Intel Corei7 processor). In some embodiments, control circuitry 304 executesinstructions for generating for display notifications based on settingsstored in memory (i.e., storage 308).

A social media platform may be a stand-alone application implemented ona media device or a server. The social media platform may be implementedas software or a set of executable instructions. The instructions forperforming any of the embodiments discussed herein of the social mediaplatform may be encoded on non-transitory computer-readable media (e.g.,a hard drive, random-access memory on a DRAM integrated circuit,read-only memory on a BLU-RAY disk, etc.) or transitorycomputer-readable media (e.g., propagating signals carrying data and/orinstructions). For example, in FIG. 3 the instructions may be stored instorage 308, and executed by control circuitry 304 of media device 300.

In some embodiments, a social media platform may be a client-serverapplication where only the client application resides on media device300 (e.g., device 402), and a server application resides on an externalserver (e.g., server 406). For example, a social media platform may beimplemented partially as a client application on control circuitry 304of media device 300 and partially on server 406 as a server applicationrunning on control circuitry. Server 406 may be a part of a local areanetwork with media device 402, or may be part of a cloud computingenvironment accessed via the Internet. In a cloud computing environment,various types of computing services for performing searches on theInternet or informational databases, gathering information for a display(e.g., information for creating a feed within the social mediaplatform), or parsing data are provided by a collection ofnetwork-accessible computing and storage resources (e.g., server 406),referred to as “the cloud.” Media device 300 may be cloud clients thatrely on the cloud computing capabilities from server 406 to gather datato populate a social media platform. When executed by control circuitryof server 406, the system may instruct the control circuitry to generatefor display the notifications and posts and transmit the notificationsand posts to media device 402. The client application may instructcontrol circuitry of the receiving media device 402 to generate thenotifications and posts for output. Alternatively, media device 402 mayperform all computations locally via control circuitry 304 withoutrelying on server 406.

Control circuitry 304 may include communications circuitry suitable forcommunicating with a social media server or other networks or servers.The instructions for carrying out the above-mentioned functionality maybe stored and executed on server 406. Communications circuitry mayinclude a cable modem, an integrated services digital network (ISDN)modem, a digital subscriber line (DSL) modem, a telephone modem, anEthernet card, or a wireless modem for communications with otherequipment, or any other suitable communications circuitry. Suchcommunications may involve the Internet or any other suitablecommunication network or paths. In addition, communications circuitrymay include circuitry that enables peer-to-peer communication of mediadevices, or communication of media devices in locations remote from eachother.

Memory may be an electronic storage device provided as storage 308 thatis part of control circuitry 304. As referred to herein, the phrase“electronic storage device” or “storage device” should be understood tomean any device for storing electronic data, computer software, orfirmware, such as random-access memory, read-only memory, hard drives,optical drives, solid state devices, quantum storage devices, gamingconsoles, or any other suitable fixed or removable storage devices,and/or any combination of the same. Nonvolatile memory may also be used(e.g., to launch a boot-up routine and other instructions). Cloud-basedstorage (e.g., on server 406) may be used to supplement storage 308 orinstead of storage 308.

Control circuitry 304 may include display generating circuitry andtuning circuitry, such as one or more analog tuners, one or more MP3decoders or other digital decoding circuitry, or any other suitabletuning or audio circuits or combinations of such circuits. Encodingcircuitry (e.g., for converting over-the-air, analog, or digital signalsto audio signals for storage) may also be provided. Control circuitry304 may also include scaler circuitry for upconverting anddownconverting content into the preferred output format of the mediadevice 300. Circuitry 304 may also include digital-to-analog convertercircuitry and analog-to-digital converter circuitry for convertingbetween digital and analog signals. The tuning and encoding circuitrymay be used by the media device to receive and to display, to play, orto record content. The tuning and encoding circuitry may also be used toreceive guidance data. The circuitry described herein, including forexample, the tuning, audio generating, encoding, decoding, encrypting,decrypting, scaler, and analog/digital circuitry, may be implementedusing software running on one or more general purpose or specializedprocessors. Multiple tuners may be provided to handle simultaneoustuning functions. If storage 308 is provided as a separate device frommedia device 300, the tuning and encoding circuitry (including multipletuners) may be associated with storage 308.

A user may send instructions to control circuitry 304 using user inputinterface 310 of media device 300. User input interface 310 may be anysuitable user interface touch-screen, touchpad, stylus and may beresponsive to external device add-ons such as a remote control, mouse,trackball, keypad, keyboard, joystick, voice recognition interface, orother user input interfaces. User input interface 310 may be atouchscreen or touch-sensitive display. In such circumstances, userinput interface 310 may be integrated with or combined with display 312.Display 312 may be one or more of a monitor, a television, a liquidcrystal display (LCD) for a mobile device, amorphous silicon display,low temperature poly silicon display, electronic ink display,electrophoretic display, active matrix display, electro-wetting display,electro-fluidic display, cathode ray tube display, light-emitting diodedisplay, electroluminescent display, plasma display panel,high-performance addressing display, thin-film transistor display,organic light-emitting diode display, surface-conductionelectron-emitter display (SED), laser television, carbon nanotubes,quantum dot display, interferometric modulator display, or any othersuitable equipment for displaying visual images. A video card orgraphics card may generate the output to the display 312. Speakers 314may be provided as integrated with other elements of media device 300 ormay be stand-alone units. Display 312 may be used to display visualcontent while audio content may be played through speakers 314. In someembodiments, the audio may be distributed to a receiver (not shown),which processes and outputs the audio via speakers 314.

Control circuitry 304 may allow a user to provide user profileinformation or may automatically compile user profile information. Forexample, control circuitry 304 may track user preferences and alert theuser of content from unfollowed accounts which matches the userpreferences. In some embodiments, control circuitry 304 monitors userinputs, such as queries, texts, calls, conversation audio, social mediaposts, etc., to detect user preferences. Control circuitry 304 may storethe user preferences in the user profile. Additionally, controlcircuitry 304 may obtain all or part of other user profiles that arerelated to a particular user (e.g., via social media networks), and/orobtain information about the user from other sources that controlcircuitry 304 may access. As a result, a user can be provided with aunified social media experience across the user's different mediadevices.

Media device 300 of FIG. 3 can be implemented in system 400 of FIG. 4 asmedia device 402. Media devices, on which notifications and content maybe generated for display, may function as a standalone device or may bepart of a network of devices. Various network configurations of devicesmay be implemented and are discussed in more detail below.

In system 400, there may be multiple media devices but only one of eachis shown in FIG. 4 to avoid overcomplicating the drawing. In addition,each user may utilize more than one type of media device and also morethan one of each type of media device.

As depicted in FIG. 4 , media device 402 may be coupled to communicationnetwork 404. Communication network 404 may be one or more networksincluding the Internet, a mobile phone network, mobile voice or datanetwork (e.g., a 4G or LTE network), cable network, public switchedtelephone network, Bluetooth, or other types of communications networkor combinations of communication network. Thus, media device 402 maycommunicate with server 406 over communication network 404 viacommunications circuitry described above. In should be noted that theremay be more than one server 406, but only one is shown in FIG. 4 toavoid overcomplicating the drawing. The arrows connecting the respectivedevice(s) and server(s) represent communication paths, which may includea satellite path, a fiber-optic path, a cable path, a path that supportsInternet communications (e.g., IPTV), free-space connections (e.g., forbroadcast or other wireless signals), or any other suitable wired orwireless communications path or combination of such paths. Furtherdetails of the present disclosure are discussed below in connection withthe system of FIG. 5 and the flowcharts of FIGS. 6-11 .

FIG. 5 is a diagram of an illustrative search system 500 for searchingunfollowed accounts for activity relevant to a user, in accordance withsome embodiments of the disclosure. As shown in FIG. 5 , system 500comprises a search engine 502 which gathers data about the user fromvarious sources (e.g., sources 504). These sources may include userprofiles for the user within the platform (e.g., user profile 506),texts and emails from the user's accounts and devices (e.g.,texts/emails 508), social media posts and interests (e.g., social media510), and calendars belonging to the user comprising various events andschedules (e.g., calendar 512). Search engine 502 may gather data fromsources 504 including user preferences, plans, schedules, interests,settings, and other data.

Search engine 502 may identify triggers (e.g., triggers 514) within thedata. For example, the system may identify a calendar entry withincalendar 512. The search engine 502 may extract an event (e.g., event516) from the calendar. Event 502 may comprise a name, a description, alist of attendees, a link to additional information, a location, a time,and other information. In some embodiments, the event may include anactivity by the user on the platform. The system may identify an eventin a post made by the user on the social media platform. For example,the user may post on the platform asking for recommendations for a tripthat the user is planning for Paris in the fall. The system maydetermine the event, location, and time frame from information includedin the post. In some embodiments, search engine 502 may extract areservation (e.g., reservation 518) from the data. The reservation maybe a restaurant reservation, a flight booking, a hotel booking, oranother type of reservation. Search engine 502 may extract informationassociated with the reservation, such as location and time. Thereservation may extend over various times and locations (e.g., for hoteland flight bookings). In these cases, the system may extract startingtimes and locations as well as ending times and locations of eachsegment of the reservation.

In some embodiments, the system may compile some of the data gatheredfrom sources 504 into an itinerary (e.g., itineraries 520). Theitinerary may comprise transportation information, schedules, events,reservations, and other information that comprises a trip. The systemmay use the data within the itinerary as triggers for creating searchfilters (e.g., filter 522) or may use the entire itinerary as a trigger.For example, search engine 502 may search multiple unfollowed accounts(e.g., unfollowed accounts 524) using a filter 522 comprising certainlocations and/or corresponding time periods from the itinerary. Thesearch filter allows system 500 to identify posts from unfollowedaccounts 524 that are relevant and useful to the user. If any posts fromunfollowed accounts match a location and/or corresponding time period,the system may notify the user of those posts (e.g., via usernotification 526). In some embodiments, user notification 526 may be apush notification on the user's device (e.g., media device 402 of FIG. 4). In some embodiments, user notification 526 may be an addition of thepost to the user's feed within the platform. In some embodiments, theuser notification 526 may include an option to view or ignore the postfrom the unfollowed account. The system may then recommend an action(e.g., via action recommendation 528). For example, as in FIG. 1 , thesystem may determine, based on flight and hotel bookings, that the userwill be in Paris during the first week of July. The system may createfilters (e.g., filter 522) for relevant posts from unfollowed accountsthat relate to Paris (e.g., based on the location or time period). Thesystem may identify an unfollowed account containing a posts ravingabout a new restaurant in Paris. The system may notify the user of thepost and additionally recommend an action. For example, the system mayrecommend that the user make a reservation at the restaurant during theuser's trip to Paris and may redirect the user to the restaurant'sreservation site or may provide the user with the restaurant's phonenumber and hours.

In some embodiments, the system may additionally search accounts thatthe user follows (e.g., followed accounts 530) and accounts that theuser has never followed (e.g., never-followed accounts 532). The systemmay search the followed accounts 530 and never-followed accounts 532using the same filters 522. In some embodiments, the system may searchthese different types of accounts using different relevance thresholds,as will be discussed in detail in relation to FIG. 10 .

It will be understood that system 500 is merely illustrative and thatvarious modification can be made in accordance with the presentdisclosure. System 500 may additionally build upon existing searchfunctionalities of social media platforms.

FIGS. 6-11 show multiple processes that can be implemented, for example,using the system of FIG. 5 . FIG. 6 is a flowchart of an illustrativeprocess 600 for notifying a user of relevant activity from unfollowedaccounts, in accordance with some embodiments of the present disclosure.As shown in FIG. 6 , process 600 determines an interest of a firstaccount and searches for relevant information among posts from accountsthat the first account has unfollowed. If the system (e.g., controlcircuitry 304) identifies a match, the system notifies the first accountof the relevant post. By performing a refined search of posts fromunfollowed accounts, process 600 ensures that the user will receiverelevant information without needing to view unfollowed accounts.

At step 602, the system (e.g., control circuitry 304) tracks that afirst account within a platform has unfollowed a second account withinthe platform. For example, the system 600 may track the accounts whichthe first account follows. If the first account removes a second accountfrom the follow list, the system may store the second account in a listof unfollowed accounts. The list of unfollowed accounts may be stored sothat the system may access the list at a later time (e.g., in storage308 or in cloud-based storage) and may or may not be accessible to theuser of the first account. The list may be separate from a list ofaccounts that the user does not follow and has not previously followed.

At step 604, the system identifies an interest associated with the firstaccount. As described in connection with FIG. 5 , the system maydetermine an interest by searching through data associated with thefirst account (e.g., user profile, texts/emails, social media,calendars, etc.). The interest may include a preference of the user(e.g., a favorite band, a city the user would like to visit, or afavorite type of food), an event the user will attend, an upcomingreservation, a travel itinerary, or another interest (e.g., based on apost to the social media platform). For example, the system may identifya post by the user to the platform asking for a recommendation for aseafood restaurant in Cape Cod this weekend. The system may identifythis as an interest of the user. The system may extract metadata fromthe interest, such as a title, a location and corresponding time, a daterange, or other identifying information. The system may use thismetadata to create search filters.

At step 606, the system monitors activities of the unfollowed secondaccount. For example, the system may await new activity from the secondaccount such as a new post, a check-in to a new location, a new status,or another update. As another example, the system may access historicalactivity from the second account.

At step 608, the system compares the interest of the first account tothe activities of the unfollowed second account. This comparison maycomprise applying a search filter based on the interest of the firstaccount to the activities of the unfollowed second account. The systemmay search the activities using several filters corresponding to severalinterests. For example, if the user has an upcoming trip to Paris, thesystem may search various locations and dates within the itinerary, aswell as particular events or establishments that the user plans toattend.

At step 610, the system determines whether there is a match between theinterest associated with the first account and the activities of theunfollowed second account. The system may identify that the interest andactivity have a piece of metadata in common, such as the title of anevent, the location and/or time, the same date range, a similardescription, or another piece of data. If the system determines thatthere is a match, process 600 continues at step 612. If the systemdetermines that there is not a match, process 600 continues at step 614.

At step 612, the system notifies the first account of the activity ofthe unfollowed second account that matches the interest of the firstaccount. In some embodiments, the user notification may be a pushnotification on the user's device (e.g., media device 402). In someembodiments, the user notification may be an addition of the post to theuser's feed within the platform. In some embodiments, the usernotification may include an option to view or ignore the post from theunfollowed account. The system may additionally prompt the user toconfigure notification preferences, such as in FIG. 2 .

At step 614, in the absence of a match, the system (e.g., controlcircuitry 304) may not notify the first account of activities of theunfollowed second account. As such, the first account will not receivepush notifications for updates to the unfollowed second account and willnot see posts from the unfollowed second account in the feed on theplatform.

It will be understood that process 600 is merely illustrative and thatvarious modification can be made in accordance with the presentdisclosure.

FIG. 6 is a generalized process comprising embodiments illustrated inmore detail in FIGS. 7-11 . FIG. 7 is a flowchart of an illustrativeprocess 700 for identifying an interest associated with an account basedon an event, in accordance with some embodiments of the presentdisclosure. In some embodiments, FIG. 7 shows a method of performingstep 604 of FIG. 6 . As shown in FIG. 7 , process 700 extracts data froma calendar associated with the first account and uses the extracted datato identify matches between the interest of the first account and anactivity of the unfollowed second account. This process allows the userto receive information relevant to upcoming events from unfollowedaccounts.

At step 702, the system (e.g., control circuitry 304) accesses acalendar associated with the first account. In some embodiments, thecalendar may be a calendar within the platform, such as a calendar ofevents to which the user has RSVP-ed within the platform. In someembodiments, the calendar may exist on another platform that is tied tothe first account. For example, the system may be able to retrievecalendar information from another social media platform or acommunications platform belonging to the first account. In someembodiments, the calendar may be stored locally in a calendarapplication on the user's device (e.g., media device 402).

At step 704, the system identifies an event in the calendar. The systemmay determine that there is an upcoming entry in the calendar thatrelates to a public event, a trip, a location, or another identifiabletrait. The system may additionally set a time period within which thesystem will identify events. For example, the system may identify eventswithin a calendar falling within the upcoming month. The system mayadditionally apply different time periods for different types of events.For example, the system may identify local events within the next monthand travel-related events within the next three months. The system mayadditionally identify events requiring tickets or reservations within alarger window.

At step 706, the system extracts at least one of a location and a timeperiod from the event in the calendar. In some embodiments, the locationand time period may be recorded in the calendar entry. In someembodiments, the system may search for a location and time period withinexternal databases based on metadata or identifying information from acalendar entry. For example, if the system identifies an event called“Benefit at School,” the system may identify that “school” relates tothe school district in the user's area. The system may then search forupcoming events at the school that are related to “benefit.” The systemmay find a matching event on a calendar on the school's website. Thesystem may thus extract a location and time period of the benefit fromthe calendar on the school's website.

In some embodiments, the system identifies a match between the interestassociated with the first account and the activity of an unfollowedsecond account based on determining that the activity is associated withthe at least one of the location and the time period of the eventidentified in FIG. 7 . For example, the system may search through theactivities of unfollowed accounts for activities matching the locationand time period extracted at step 706. If the location and time periodof the activity match the location and time period of the benefit, thesystem may determine that the activity and the benefit match. Forexample, the system may identify that an account that the user hasunfollowed posted about attending the upcoming benefit. The user may beinterested to learn that the person associated with the unfollowedaccount will be attending the event, as this may impact the user's ownplans to attend the event. The system may therefore notify the userabout the post from the unfollowed account.

It will be understood that process 700 is merely illustrative and thatvarious modification can be made in accordance with the presentdisclosure.

FIG. 8 is a flowchart of an illustrative process 800 for identifying aninterest associated with an account based on an itinerary, in accordancewith some embodiments of the present disclosure. In some embodiments,FIG. 8 shows another method of performing step 604 of FIG. 6 . As shownin FIG. 8 , process 800 compiles bookings (e.g., reservations, flights,tickets, etc.) into a travel itinerary. The system can then identify amatch between an interest of a first account and an activity of anunfollowed account based on the information in the travel itinerary.This process allows the user to receive, for example, notificationsabout updates relating to upcoming travel plans from unfollowedaccounts.

At step 802, the system (e.g., control circuitry 304) accesses bookingsassociated with the first account. In some embodiments, the system mayparse through text and email data for confirmation messages and emailsrelated to bookings. For example, the system may identify an emailconfirming plane tickets to and from Paris and a text from a tour guideconfirming the details of a historic tour of Paris.

At step 804, the system identifies locations and corresponding timeperiods based on the bookings. For example, the system may extract thelocation and time information from the metadata of the bookings (e.g.,in confirmation emails and/or texts). The system may store the locationand time information in storage (e.g., storage 308).

At step 806, the system compiles the bookings, locations, andcorresponding time periods into a travel itinerary. For example, thesystem may arrange the bookings into a schedule for the length of thetrip. The itinerary may include travel time between locations as well astransportation information. The itinerary may additionally includedescriptions of the itinerary entries as well as contact information,advisories, and reminders. The travel itinerary may be accessible to theuser or may be stored separately from the platform for the system toreference (e.g., in storage 308). In some embodiments, the system mayinclude implied locations and times when compiling the itinerary. Forexample, if the user's itinerary indicates that the user will be drivingfrom Paris to Marseille on a certain day, the system may identify thatthe user will be driving through Orleans at a certain time. The systemmay therefore include travel routes, methods of transportation, and timeperiods in the travel itinerary.

In some embodiments, the system identifies a match between the interestand an activity of an unfollowed account by determining that theactivity is associated with a location and/or a corresponding timeperiod in the travel itinerary. For example, the system may identify apost from an unfollowed account that matches a location and/or timealong the user's travel route in the itinerary. For instance, the systemmay identify that the post includes information about a festival inOrleans during the time that the user will be passing through the town.The user may be interested to learn this information, as the user maywish to leave extra time to attend the festival or may wish to take analternate route to avoid extra traffic caused by the festival. In thisexample, the system may alert the user of the post based on the matchbetween the post and the itinerary.

It will be understood that process 800 is merely illustrative and thatvarious modification can be made in accordance with the presentdisclosure.

FIG. 9 is a flowchart of an illustrative process 900 for identifying aninterest associated with an account based on user preferences, inaccordance with some embodiments of the present disclosure. In someembodiments, FIG. 9 shows another method of performing step 604 of FIG.6 . As shown in FIG. 9 , process 900 may identify a number of userpreferences within a user profile and use these preferences to identifya relevant post by an unfollowed account. This process allows the systemto alert the user of posts of interest even if the posts are made by anunfollowed account.

At step 902, the system (e.g., control circuitry 304) accesses a profileassociated with the first account. For example, the system may identifya profile including personal and information, settings, preferences, andother information. The profile may be the user's profile within the sameplatform as the first account or may exist on another platform. Forexample, the user may have multiple social media profiles acrossmultiple platforms and the system may access one or multiple of theseaccounts.

At step 904, the system identifies a plurality of preferences in theprofile. A preference may include something that the user has “liked,”an interest related to a page or account that the user follows, or aninterest that the user has indicated in the user profile. For example,preferences may include a favorite band, a favorite type of food orrestaurant, a city the user would like to visit, or another interest. Insome embodiments, the system may determine a preference based on a postthat he user has made to the social media platform. For example, if theuser posts about a favorite book, the system may identify the book,author, and genre as interests of the user.

In some embodiments, the system identifies a match between the interestand the activity of an unfollowed account by determining that theactivity relates to a preference in the profile. The system may makethis determination by matching keywords between the preferences andposts from unfollowed accounts. For example, if the user has indicatedan interest in the band “Florence and the Machine” in the user profile,the system may search unfollowed accounts for posts containing the words“Florence” and “Machine.” If there is a post from an unfollowed accountcontaining the keywords, the system may determine that the post isrelevant to the user's preferences and therefore may identify the postas a match.

It will be understood that process 900 is merely illustrative and thatvarious modification can be made in accordance with the presentdisclosure.

FIG. 10 is a flowchart of an illustrative process for setting a higherrelevance threshold for unfollowed accounts than accounts that were notpreviously followed, in accordance with some embodiments of the presentdisclosure. As shown in FIG. 10 , process 1000 determines a firstrelevance threshold for activities from unfollowed accounts and a secondrelevance threshold for activities from never-followed accounts. Theserelevance thresholds allow the system to provide the most relevantinformation from unfollowed and never-followed accounts.

At step 1002, the system (e.g., control circuitry 304) determines afirst relevance threshold for identifying a match between a user'sinterest and an activity of an unfollowed account. In some embodiments,the system may prompt the user for a relevance threshold, for example byprompting the user to indicate if they would like to see all relevantposts from unfollowed accounts or only very relevant posts fromunfollowed accounts. In some embodiments, the system may preconfigure afirst relevance threshold for unfollowed accounts in the settings. Insome embodiments, the first relevance threshold may be different acrossdifferent platforms.

At step 1004, the system identifies a second account within the platformthat he user has not followed. For example, the system identifies anever-followed account. The system may use various methods todistinguish never-followed accounts from unfollowed accounts, such astagging or keeping separate lists of accounts.

At step 1006, the system determines a second relevance threshold foridentifying a match between the user's interest and an activity of thenever-followed account. In some embodiments, the second relevancethreshold may be preconfigured in the settings. In some embodiments, thefirst relevance threshold may be different across different platforms.For example, each social media platform may have an algorithm fordisplaying or recommending content to users from never-followedaccounts. Process 1000 may build upon algorithms in existing platformsor may introduce a new algorithm for determining a relevance thresholdfor never-followed accounts.

In some embodiments, the first relevance threshold may be lower than thesecond relevance threshold. For example, the system may set the firstrelevance threshold lower, as the “unfollowed” status indicates theuser's previous interest in an account. The unfollowed account istherefore more likely to contain relevant information than anever-followed account. This ensures that the user is presented with themost relevant information.

In some embodiments, the system may determine a third relevancethreshold for accounts that the user follows. The relevance thresholdmay be significantly lower for followed accounts than for unfollowedaccounts and never-followed accounts. In some embodiments, the thirdrelevance threshold may be used to determine where a post appears in afeed and/or whether the user receives a notification about the post.

In some embodiments, the system may determine a relevance score for amatch between a user's interest and an activity of an unfollowed accountbased on how close the match is between the interest and the activity.For example, the system may match an activity of an unfollowed accountto a preference of the user using keyword matching and may determinethat the activity contains all of the keywords of the preference (e.g.,“Florence” and “Machine). The system may therefore determine that theactivity has a high relevance level. In another scenario, the system maydetermine that the location tagged in a post from an unfollowed accountis an exact match to a location of an event the user will attend. Thesystem may determine that the post is therefore relevant and importantfor the user to see and may raise the relevance score.

It will be understood that process 1000 is merely illustrative and thatvarious modification can be made in accordance with the presentdisclosure.

FIGS. 11A and 11B are flowcharts of illustrative processes for applyinghigher or lower thresholds for unfollowed accounts. In some embodiments,FIGS. 11A and 11B are continuations of step 1006 of FIG. 10 . FIG. 11Ais a flowchart of an illustrative process 1100A for applying a lowerrelevance threshold when there is a familial relationship between twoaccounts, in accordance with some embodiments of the present disclosure.As shown in FIG. 11A, process 1100A applies a lower relevance thresholdfor posts from unfollowed accounts when there is a familial relationshipbetween the accounts. This allows the user to receive importantinformation about family regardless of whether the user has chosen tounfollow the account.

At step 1102, the system determines whether there is a familialrelationship between the first account and the unfollowed account. Insome embodiments, the system may identify a familial relationship basedon a user indication within the platform that the account belongs to afamily member. In some embodiments, the system may identify a familialrelationship based on mutual friends or followers within the platform.For example, if the accounts share many of the same friends or followersand all of the accounts have a common feature (e.g., same last name)then the system may determine that the user and the unfollowed accountlikely share a familial relationship. If the system determines thatthere is a familial relationship, process 1000A may continue to step1104. If the system determines that there is no familial relationship,process 1000A may continue to step 1106.

At step 1104, the system applies a lower first relevance threshold. Insome embodiments, this may allow the system to provide more updates tothe user from unfollowed family members.

At step 1106, the system does not apply a lower first relevancethreshold. Therefore the system may retain the same first relevancethreshold as determined in step 1002 of FIG. 10 .

It will be understood that system 1100A is merely illustrative and thatvarious modification can be made in accordance with the presentdisclosure.

FIG. 11B is a flowchart of an illustrative process 1100B for applying alower relevance threshold when an activity of an unfollowed account hasa high importance, in accordance with some embodiments of the presentdisclosure. As shown in FIG. 11B, process 1100B applies a lowerthreshold for activities with high importance than for activities nothaving a high importance level.

At step 1108, the system determines whether the activity has a highimportance. The system may determine the importance based on the type ofactivity. For example, a birthday or holiday post may be marked as moreimportant than a post not relating to a special event. In someembodiments, the system may raise the importance based on the presenceof certain words. For example, if the words “concert,” “meet-and-greet,”or “tour” are included in a post about “Florence and the Machine,” thesystem may determine that the post is important for the user to view andmy increase the importance. If the system determines that the activityhas a high importance, the process continues at step 1110. If the systemdetermines that the activity does not have a high importance, theprocess continues at step 1112.

At step 1110, the system applies a lower first relevance threshold. Insome embodiments, this may allow the system to alert the user ofimportance updates that are relevant to the user.

At step 1112, the system does not apply a lower first relevancethreshold. Therefore the system may retain the same first relevancethreshold as determined in step 1002 of FIG. 10 .

It will be understood that process 1100B is merely illustrative and thatvarious modification can be made in accordance with the presentdisclosure.

The above-described embodiments of the present disclosure are presentedfor purposes of illustration and not of limitation, and the presentdisclosure is limited only by the claims that follow. Furthermore, itshould be noted that the features and limitations described in any oneembodiment may be applied to any other embodiment herein, and flowchartsor examples relating to one embodiment may be combined with any otherembodiment in a suitable manner, done in different orders, or done inparallel. In addition, the systems and methods described herein may beperformed in real time. It should also be noted, the systems and/ormethods described above may be applied to, or used in accordance with,other systems and/or methods.

1-30. (canceled)
 31. A method comprising: determining that a userinterface associated with a first social media account is preventingdisplay of social media activity associated with a plurality of socialmedia accounts previously followed and currently unfollowed by the firstsocial media account; detecting a social media activity associated witha second social media account of the plurality of social media accounts;determining that an interest associated with the first social mediaaccount matches the social media activity associated with the secondsocial media account; in response to determining that the interestmatches the social media activity: retrieving an account identifier ofthe second social media account; temporarily overriding the preventingthe display for the second social media account; and causing to bedisplayed, at the user interface, an interactive notificationindicating: (i) the account identifier of the second social mediaaccount; (ii) that the second social media account is presentlyunfollowed; and (iii) the interest associated with the first socialmedia account; and (iv) the social media activity associated with thesecond social media account.
 32. The method of claim 31, whereindetermining that the user interface is preventing the display comprisesdetecting an active setting of the user interface that prevents thedisplay.
 33. The method of claim 31, further comprising: receiving aselection of the interactive notification; and in response to receivingthe selection, causing to be displayed at the user interface the socialmedia activity on a social media platform associated with the secondsocial media account.
 34. The method of claim 33, further comprising:retrieving secondary content associated with the social media activity;and in response to receiving the selection, causing to be displayed atthe user interface the secondary content concurrently with the displayof the social media activity.
 35. The method of claim 31, wherein theaccount identifier comprises one of a profile picture, a profile name,and a social media handle.
 36. The method of claim 31, wherein theaccount identifier comprises a selectable option to re-follow the secondsocial media account.
 37. The method of claim 31, wherein theinteractive notification comprises a selectable option to ignore thesocial media activity.
 38. The method of claim 31, wherein determiningthat the interest matches the social media activity comprises:determining a relevance threshold for the first social media account;comparing the social media activity to the relevance threshold; anddetermining, based on the comparing, that the social media activityexceeds the relevance threshold.
 39. The method of claim 38, whereindetermining the relevance threshold comprises: determining arelationship type between the first social media account and the secondsocial media account; and modifying the relevance threshold based on therelationship type.
 40. The method of claim 38, wherein determining therelevance threshold comprises: determining an importance level of thesocial media activity; and modifying the relevance threshold based onthe importance level.
 41. A system comprising: display circuitryconfigured to display a user interface; and control circuitry configuredto: determine that the user interface associated with a first socialmedia account is preventing display of social media activity associatedwith a plurality of social media accounts previously followed andcurrently unfollowed by the first social media account; detect a socialmedia activity associated with a second social media account of theplurality of social media accounts; determine that an interestassociated with the first social media account matches the social mediaactivity associated with the second social media account; in response todetermining that the interest matches the social media activity:retrieve an account identifier of the second social media account;temporarily override the preventing the display for the second socialmedia account; and cause to be displayed, at the user interface via thedisplay circuitry, an interactive notification indicating: (i) theaccount identifier of the second social media account; (ii) that thesecond social media account is presently unfollowed; and (iii) theinterest associated with the first social media account; and (iv) thesocial media activity associated with the second social media account.42. The system of claim 41, wherein the control circuitry, whendetermining that the user interface is preventing the display, isconfigured to detect an active setting of the user interface thatprevents the display.
 43. The system of claim 41, wherein the controlcircuitry is further configured to: receive a selection of theinteractive notification; and in response to receiving the selection,cause to be displayed at the user interface the social media activity ona social media platform associated with the second social media account.44. The system of claim 43, wherein the control circuitry is furtherconfigured to: retrieve secondary content associated with the socialmedia activity; and in response to receiving the selection, cause to bedisplayed at the user interface the secondary content concurrently withthe display of the social media activity.
 45. The system of claim 41,wherein the account identifier comprises one of a profile picture, aprofile name, and a social media handle.
 46. The system of claim 41,wherein the account identifier comprises a selectable option tore-follow the second social media account.
 47. The system of claim 41,wherein the interactive notification comprises a selectable option toignore the social media activity.
 48. The system of claim 41, whereinthe control circuitry, when determining that the interest matches thesocial media activity, is configured to: determine a relevance thresholdfor the first social media account; compare the social media activity tothe relevance threshold; and determine, based on the comparing, that thesocial media activity exceeds the relevance threshold.
 49. The system ofclaim 48, wherein the control circuitry, when determining the relevancethreshold, is configured to: determine a relationship type between thefirst social media account and the second social media account; andmodify the relevance threshold based on the relationship type.
 50. Thesystem of claim 48, wherein the control circuitry, when determining therelevance threshold, is configured to: determine an importance level ofthe social media activity; and modify the relevance threshold based onthe importance level.